草庐IT

MacOS 13

全部标签

Swift - 将字典保存到 NSUserDefaults 时 macOS 程序卡住

我一直在尝试将类型为[Int:String]的字典保存到NSUserDefaults中,它过去工作得很好,但最近就不行了。当调用保存方法时,macOS程序卡住(使用rainbow加载程序)并且永远不会恢复。因为我之前能够做到这一点,我怀疑这可能与NSUserDefaults在我的mac上的存储位置有关(我不知道它在哪里)。这是我的代码:letdefaults=NSUserDefaults.standardUserDefaults()vardict:[Int:String]=[:]dict[1]="123512"dict[2]="1231232"dict[3]="112512"dict[

swift - 查找哪个监视器或屏幕包含鼠标指针 - swift、macos

我想找出鼠标在哪个显示器上,以便我可以在该显示器上创建一个窗口。这与主屏幕不同,因为NSScreen.main返回其中包含事件窗口的屏幕(一个简单的判断方法是哪个显示器的菜单栏是不透明的,其他显示器会稍微变暗)。据我所知,没有直接的方法来获取它? 最佳答案 在我找到答案后回答我自己的问题-这可能对其他人有帮助。找到鼠标在哪个屏幕/显示器上并不难,但您必须遍历每个屏幕才能做到这一点。swift4funcgetScreenWithMouse()->NSScreen?{letmouseLocation=NSEvent.mouseLocat

objective-c - 如何以编程方式在 MacOS 中隐藏全屏应用程序

我正在尝试制作一个可以在一定时间间隔内隐藏其他窗口/应用程序的应用程序,但我一直坚持使用NSWorkspace和NSRunningApplication类隐藏全屏应用程序窗口。有没有办法使用公共(public)API以编程方式退出全屏模式?如果不是,我需要查看哪些私有(private)API才能完成此任务? 最佳答案 假设您可以绕过沙盒,您可以使用AppleScript告诉系统事件告诉相关进程将窗口1的属性“AXFullScreen”设置为false。 关于objective-c-如何以

Swift – macOS `batteryLevel` 属性

在iOS中,有一种获取iPhone电池电量的简单方法:UIDevice.current.batteryLevelMacBook的macOSbatteryLevel是什么? 最佳答案 在macOS中获取电池电量不像在iOS中那么容易,但仍然非常容易。为此,您必须使用IOKit框架。您可以使用此代码从内部电池读取几乎所有重要信息。InternalBattery.swiftimportFoundationimportIOKit.pspublicclassInternalBattery{publicvarname:String?public

macos - OS X 10.10 Yosemite - 添加一个小菜单

我是OSX编程的新手,最近开始了一个OSX10.10的演示项目。找到这个->http://cocoatutorial.grapewave.com/tag/menulet/在OSX状态栏中添加小菜单的好教程。问题是我的项目使用的是swift语言,方法和项目结构/文件有些不同。我想知道是否有人在Yosemite上成功地尝试过这个?谢谢。编辑:具体问题是如何替换awakefromnib方法以使用当前的AppDelegate.swift语法? 最佳答案 整个事情是这样的......classAppDelegate:NSObject,NSAp

macos - Int32 无法转换为 gcl_queue_flags

我尝试将OpenCL与Swift语言结合使用(使用xcode6Dp4、YosemiteDP4)失败了:importCocoaimportOpenCL--varqueue:dispatch_queue_t=gcl_create_dispatch_queue(CL_DEVICE_TYPE_GPU,nil)--错误信息出现在“varqueue...”行;“Int32无法转换为gcl_queue_flags”。这行代码在使用Objective-C或C时完美运行。测试OpenCL(以及GCD)似乎无法在Playground上运行。 最佳答案

macos - 如何使用swift从带有图案图像的nscolor中获取cgcolor?

这是我的台词NSView*myview[self.myview.layersetBackgroundColor:[NSColorcolorWithPatternImage:[NSImageimageNamed:@"myImageName.png"]].CGColor];如何用swift语言编写这些行.谢谢 最佳答案 我不明白你代码的开头(为什么self.myview.layer如果myview在上面的一行声明),但其余的应该是这样的:self.myview.layer?.backgroundColor=NSColor(pattern

macos - Swift IBOutlets 在 awakeFromNib 中为零(xcode 6.1.1 osx 10.10.1)

我有一个NSViewController(我正在使用Storyboard),其中一个iboutlet连接到NSOutlineView(是的,我已经绝对确定它确实已连接),但是当我尝试在awakeFromNib中引用它时,导出是仍然是零,尽管他们应该保证在awakeFromNib中连接。有什么想法或解决方案吗? 最佳答案 Apple文档说NSViewController的生命周期从viewDidLoad开始,所以你应该在那里做你的事情。 关于macos-SwiftIBOutlets在awa

macos - 我必须指定哪些权利才能使用默认值 write com.apple.screencapture in NSTask()

我让应用程序运行良好然后提交到应用程序商店并发现了这个叫做沙箱的东西:-p我一直在阅读文档和开发者论坛,但我无法明确我需要添加什么权利才能使其正常工作:lettask=NSTask()task.launchPath="/bin/bash"task.arguments=["-c","defaultswritecom.apple.screencapturetypegif;killallSystemUIServer"]task.launch()我想也许com.apple.screencapture和com.apple.security.temporary-exception.shared-p

macos - 如何从菜单项创建 'sheet' segue

我有一个SwiftCocoa应用程序,它从菜单项中分离出一个View。当我从界面生成器创建segue时,选项是:显示、模态和自定义。然而,当我从按钮创建segue时,会出现更多选项:工作表、弹出窗口、显示、自定义、模态我需要从该菜单项创建一个工作表segue。我错过了什么吗?或者仅从菜单项中禁用这些额外选项 最佳答案 正如其他人所说,菜单项不能执行依赖于窗口的任何附件的转场。不幸的是,在某些情况下您确实希望从菜单项触发“工作表”转场。例如,Xcode本身就是这样做的。Xcode窗口最左下角的+将打开一个三项菜单,所有这些菜单都执行“